128. Счастливые билеты

 

Подсчитайте количество счастливых билетов, у которых сума первых трёх цифр равна n. Счастливым называется билет с шестизначным номером, у которого сумма первых трёх цифр равна сумме трёх последних.

 

Вход. Одно натуральное число n (n ≤ 27).

 

Выход. Выведите количество искомых счастливых билетов.

 

Пример входа

Пример выхода

1

9

 

 

РЕШЕНИЕ

перебор

 

Анализ алгоритма

Вычислим количество p трехзначных чисел (которые могут начинаться с нуля), сумма цифр которых равна n. Если возле любого трехзначного числа с суммой цифр n приписать любое трехзначное число с суммой цифр n, то получится счастливый билет. Количество счастливых билетов равно p2.

 

Пример

Рассмотрим случай, когда n = 1. Трехзначными числами с суммой цифр 1 будут 001, 010 и 100. Если любое их них соединить с любым другим, то получится 9 счастливых билетов.

 

 

Реализация алгоритма

Читаем входное значение n.

 

scanf("%d",&n);

 

В переменной p вычисляем количество трехзначных чисел с суммой цифр n.

 

p = 0;

 

Перебираем цифры трехзначного числа . Если сумма его цифр равна n, то увеличиваем p на 1.

 

for(i = 0; i <= 9; i++)

for(j = 0; j <= 9; j++)

for(k = 0; k <= 9; k++)

  if (i + j + k == n) p++;

 

Вычисляем и выводим ответ.

 

res = p * p;

printf("%d\n",res);

 

Java реализация

 

import java.util.*;

 

public class Main

{

  public static void main(String args[])

  {

    Scanner con = new Scanner(System.in);

    int n = con.nextInt();

    int p = 0;

    for(int i = 0; i <= 9; i++)

    for(int j = 0; j <= 9; j++)

    for(int k = 0; k <= 9; k++)

      if (i + j + k == n) p++;

   

    int res = p * p;

    System.out.println(res);

    con.close();

  }

}

 

Python реализация

Читаем входное значение n.

 

n = int(input())

 

В переменной p вычисляем количество трехзначных чисел с суммой цифр n.

 

p = 0

 

Перебираем цифры трехзначного числа . Если сумма его цифр равна n, то увеличиваем p на 1.

 

for i in range(10):

  for j in range(10):

    for k in range(10):

      if (i + j + k == n): p += 1

 

Вычисляем и выводим ответ.

 

res = p * p;

print(res)